<?php

// function getMoney() {
// 	$rmb = 1;
// 	$func = function() use ( $rmb ) {
// 		echo $rmb;
// 		$rmb++;
// 	};

// 	$func();
// 	echo $rmb; 
// }
// getMoney();



// function handle($num)
// {
// 	return function ($name) use ($num) {
// 		echo "my name is {$name}";
// 	};
// }


// $re = handle(15);

// var_dump($re);die;


// function html($id, $class)
// {

// 	$id = str_replace(",", ";", $id);

// 	$function = function ($inner) use ($id, $class) {
// 		echo "{id}: $class";
// 	};

// 	return $function;
// }

// var_dump(html(12, "names"));die;



// $handles =  function ($name) {
// 				echo "负责以参数形式传入闭包, {$name}";
// 			};

// function run($handle) {

// 	return function ($name) use ($handle) {
// 		return $handle($name);
// 	};
// }

// $res = run($handles);

// var_dump($res);die;
// $res("zou x");

$application = function ($name) {
	echo "application {$name} run scuuess";
};

// 校验
$check = function ($handle) {
	echo '校验开始<br/>';
	return function ($name) use ($handle) {
		return $handle($name);
	};
};



// 埋点
$flow = function ($handle) {
	echo '埋点开始<br/>';
	return function ($name) use ($handle) {
		return $handle($name);
	};
};



// $stock = [
// 	"check" => $check,
// 	"flow" => $flow
// ];

// foreach($stock as $key => $item) {
// 	$run = $item($application);
// }


// var_dump($run);die;
// $run('bqs');


// function goFun() {
//     return function ($f, $className) {
//         return function ($p) use ($f, $className) {
//             return function ($m) use ($f, $className) {
//             	$res = 12;
//             };
//         };
//     };
// }

// $go = goFun();
// var_dump($go);die;

// $arr = [
// 	"a" => "link",
// 	"b" => "flink",
// 	"c" => "f",
// 	"handle" => function ($query) {
// 		return "hello";
// 	}
// ];

$arr = [10,20,30,40,50];

$arr2 = [
	[10, 20],
	[30, 40],
	[20, 60],
	[20, 50]
];

// $res = array_reduce($arr2, function ($reduceItem, $item) {
// 	return array_merge($reduceItem, $item);		
// }, []);

// var_dump($res);die;

$handle = function () {
	echo "";
};

$func = array_reduce($arr, function ($reduceItem, $item) {
			return function ($name) use ($item) {
				echo $name. "的第" . $item . "项迭代";
			};
});

$func('旋涡');


?>